Lifecycle management can be provided in various contexts, such as software systems lifecycle management, methods lifecycle management, product lifecycle management, information lifecycle management. The lifecycle management of a system (e.g., a software system) is a complex task that is generally addressed on a case-by-case basis. For each individual system, a tailored and dedicated lifecycle management system is developed and implemented.
Customized lifecycle management has several limitations. For example, the details of an underlying lifecycle model are mostly hidden in the internal implementation of the lifecycle management system. Users of the system are often unable to understand and to view the states and transitions of the lifecycle model, user roles, and/or the artifacts of the entity that are modified in each transition. As another example, each change in the lifecycle model can only be realized by modifying the implementation of the lifecycle management system, which limits the extensibility of such systems. Further, customized lifecycle management systems are not easily reusable. Consequently, extensibility, adaptability and reuse are limited.